<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Module quickrand</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
</head>
<body bgcolor="white">
<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
<hr>

<h1>Module quickrand</h1>
<ul class="index"><li><a href="#description">Description</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
   <h3><a name="Quick_Random_Number_Generation">Quick Random Number Generation</a></h3>.
<p>Copyright © 2012-2017 Michael Truog</p>

<p><b>Version:</b> 1.7.2 Nov 28 2019 11:56:59
  ------------------------------------------------------------------------</p>
<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>

<h2><a name="description">Description</a></h2>
   <h3><a name="Quick_Random_Number_Generation">Quick Random Number Generation</a></h3>

<h2><a name="index">Function Index</a></h2>
<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#seed-0">seed/0</a></td><td>
  <h4><a name="Seed_random_number_generation.">Seed random number generation.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#strong_float-0">strong_float/0</a></td><td>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_[0.0_.._1.0].">Return an Erlang double-precision random number with the range [0.0 .. 1.0].</a></h4>.</td></tr>
<tr><td valign="top"><a href="#strong_floatL-0">strong_floatL/0</a></td><td>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_[0.0_.._1.0).">Return an Erlang double-precision random number with the range [0.0 .. 1.0).</a></h4>
  Left portion of the 0.0 to 1.0 range.</td></tr>
<tr><td valign="top"><a href="#strong_floatM-0">strong_floatM/0</a></td><td>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_(0.0_.._1.0).">Return an Erlang double-precision random number with the range (0.0 .. 1.0).</a></h4>
  Middle portion of the 0.0 to 1.0 range.</td></tr>
<tr><td valign="top"><a href="#strong_floatR-0">strong_floatR/0</a></td><td>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_(0.0_.._1.0].">Return an Erlang double-precision random number with the range (0.0 .. 1.0].</a></h4>
  Right portion of the 0.0 to 1.0 range.</td></tr>
<tr><td valign="top"><a href="#strong_uniform-1">strong_uniform/1</a></td><td>
  <h4><a name="Strong_uniform_random_number_generation.">Strong uniform random number generation.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#strong_uniform_range-2">strong_uniform_range/2</a></td><td>
  <h4><a name="Strong_uniform_random_number_generation_in_a_range.">Strong uniform random number generation in a range.</a></h4>.</td></tr>
<tr><td valign="top"><a href="#uniform-1">uniform/1</a></td><td>
  <h4><a name="Quick_uniform_random_number_generation.">Quick uniform random number generation.</a></h4>
  Not meant for cryptographic purposes.</td></tr>
<tr><td valign="top"><a href="#uniform-1">uniform/1</a></td><td></td></tr>
<tr><td valign="top"><a href="#uniform_cache-1">uniform_cache/1</a></td><td>
  <h4><a name="Quick_uniform_random_number_generation_with_cached_data.">Quick uniform random number generation with cached data.</a></h4>
  Not meant for cryptographic purposes.</td></tr>
<tr><td valign="top"><a href="#uniform_cache-1">uniform_cache/1</a></td><td></td></tr>
<tr><td valign="top"><a href="#uniform_cache-2">uniform_cache/2</a></td><td>
  <h4><a name="Quick_uniform_random_number_generation_with_cached_data.">Quick uniform random number generation with cached data.</a></h4>
  Not meant for cryptographic purposes.</td></tr>
<tr><td valign="top"><a href="#uniform_cache-2">uniform_cache/2</a></td><td></td></tr>
</table>

<h2><a name="functions">Function Details</a></h2>

<h3 class="function"><a name="seed-0">seed/0</a></h3>
<div class="spec">
<p><tt>seed() -&gt; ok</tt><br></p>
</div><p>
  <h4><a name="Seed_random_number_generation.">Seed random number generation.</a></h4>
</p>

<h3 class="function"><a name="strong_float-0">strong_float/0</a></h3>
<div class="spec">
<p><tt>strong_float() -&gt; float()</tt><br></p>
</div><p>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_[0.0_.._1.0].">Return an Erlang double-precision random number with the range [0.0 .. 1.0].</a></h4>
</p>

<h3 class="function"><a name="strong_floatL-0">strong_floatL/0</a></h3>
<div class="spec">
<p><tt>strong_floatL() -&gt; float()</tt><br></p>
</div><p>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_[0.0_.._1.0).">Return an Erlang double-precision random number with the range [0.0 .. 1.0).</a></h4>
  Left portion of the 0.0 to 1.0 range.</p>

<h3 class="function"><a name="strong_floatM-0">strong_floatM/0</a></h3>
<div class="spec">
<p><tt>strong_floatM() -&gt; float()</tt><br></p>
</div><p>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_(0.0_.._1.0).">Return an Erlang double-precision random number with the range (0.0 .. 1.0).</a></h4>
  Middle portion of the 0.0 to 1.0 range.</p>

<h3 class="function"><a name="strong_floatR-0">strong_floatR/0</a></h3>
<div class="spec">
<p><tt>strong_floatR() -&gt; float()</tt><br></p>
</div><p>
  <h4><a name="Return_an_Erlang_double-precision_random_number_with_the_range_(0.0_.._1.0].">Return an Erlang double-precision random number with the range (0.0 .. 1.0].</a></h4>
  Right portion of the 0.0 to 1.0 range.</p>

<h3 class="function"><a name="strong_uniform-1">strong_uniform/1</a></h3>
<div class="spec">
<p><tt>strong_uniform(N::pos_integer()) -&gt; pos_integer()</tt><br></p>
</div><p>
  <h4><a name="Strong_uniform_random_number_generation.">Strong uniform random number generation.</a></h4>
</p>

<h3 class="function"><a name="strong_uniform_range-2">strong_uniform_range/2</a></h3>
<div class="spec">
<p><tt>strong_uniform_range(Min::non_neg_integer(), Max::non_neg_integer()) -&gt; non_neg_integer()</tt><br></p>
</div><p>
  <h4><a name="Strong_uniform_random_number_generation_in_a_range.">Strong uniform random number generation in a range.</a></h4>
</p>

<h3 class="function"><a name="uniform-1">uniform/1</a></h3>
<div class="spec">
<p><tt>uniform(N::pos_integer()) -&gt; pos_integer()</tt><br></p>
</div><p>
  <h4><a name="Quick_uniform_random_number_generation.">Quick uniform random number generation.</a></h4>
  Not meant for cryptographic purposes.</p>

<h3 class="function"><a name="uniform-1">uniform/1</a></h3>
<div class="spec">
<p><tt>uniform(N) -&gt; any()</tt></p>
</div>

<h3 class="function"><a name="uniform_cache-1">uniform_cache/1</a></h3>
<div class="spec">
<p><tt>uniform_cache(N::pos_integer()) -&gt; pos_integer()</tt><br></p>
</div><p>
  <h4><a name="Quick_uniform_random_number_generation_with_cached_data.">Quick uniform random number generation with cached data.</a></h4>
  Not meant for cryptographic purposes.</p>

<h3 class="function"><a name="uniform_cache-1">uniform_cache/1</a></h3>
<div class="spec">
<p><tt>uniform_cache(N) -&gt; any()</tt></p>
</div>

<h3 class="function"><a name="uniform_cache-2">uniform_cache/2</a></h3>
<div class="spec">
<p><tt>uniform_cache(N::pos_integer(), State::<a href="quickrand_cache.html#type-state">quickrand_cache:state()</a>) -&gt; {pos_integer(), <a href="quickrand_cache.html#type-state">quickrand_cache:state()</a>}</tt><br></p>
</div><p>
  <h4><a name="Quick_uniform_random_number_generation_with_cached_data.">Quick uniform random number generation with cached data.</a></h4>
  Not meant for cryptographic purposes.</p>

<h3 class="function"><a name="uniform_cache-2">uniform_cache/2</a></h3>
<div class="spec">
<p><tt>uniform_cache(N, State) -&gt; any()</tt></p>
</div>
<hr>

<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
<p><i>Generated by EDoc</i></p>
</body>
</html>
